<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Archivers' command line arguments</title>
<meta http-equiv="Content-Type" Content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="../../../styles/styles.css">
<script language="javascript" src='../../links.js' type="text/javascript"></script>
</head>

<body>

<h1>Archivers' command line arguments</h1>
<div class=navbar>
<a href="../../index.html">main</a> |
<a href="../index.html">Custom API</a> |
<a href="index.html">archive support</a>
<br>
</div>

<div class=shortdescr>
The following variables can be used in external archivers' command-lines for different archive handling operations:
</div>


<table class="cont">
<tr class="cont"><th class="cont" width="40%">Variables</th><th class="cont" width="60%">Description</th></tr>
  <tr class="cont"><td class="cont" width="40%">%%A</td>
  <td class="cont" width="60%"> Archive name.</td></tr>
  <tr class="cont"><td class="cont" width="40%">%%a</td>
  <td class="cont" width="60%"> Archive short name.</td></tr>
  <tr class="cont"><td class="cont" width="40%">%%W</td>
  <td class="cont" width="60%">
 Folder for temporary files, including trailing slash symbol.
</td></tr>
  <tr class="cont"><td class="cont" width="40%">%%P</td>
  <td class="cont" width="60%"> Password.</td></tr>
  <tr class="cont"><td class="cont" width="40%">%%R</td>
  <td class="cont" width="60%"> Current folder in the archive.</td></tr>
  <tr class="cont"><td class="cont" width="40%">%%L</td>
  <td class="cont" width="60%">
 List of file names (file list). It's a file containing file names to be processed by the external archiver.
</td></tr>
  <tr class="cont"><td class="cont" width="40%">%%l</td>
  <td class="cont" width="60%"> List of short file names.</td></tr>
  <tr class="cont"><td class="cont" width="40%">%%F</td>
  <td class="cont" width="60%">
 Name(s) of the file(s) to process. If all the file names don't fit in the command line then
the archiver will be launched several times until all file names are processed. By default the maximum
command line length is 127 symbols, but one can define it explicitly right after %%F (i.e. %%F512).
The %%F variable should be used only in case the archiver doesn't support file lists.</td></tr>
  <tr class="cont"><td class="cont" width="40%">%%f</td>
  <td class="cont" width="60%">
 Name of a single file to process. Archiver will be launched several times until all the file names are
processed. This variable should be used only in case the archiver doesn't support file lists or
several file names in its command line.</td></tr>
  <tr class="cont"><td class="cont" width="40%">%%E &laquo;exit code&raquo;</td>
  <td class="cont" width="60%">
Maximum allowable exit code. For example, %%E2 shows that exit codes of 0, 1 and 2 are allowed. The
variable can be used at any place in the command line. If it's missing the only available exit code
is 0.</td></tr>
  <tr class="cont"><td class="cont" width="40%">%%S</td>
  <td class="cont" width="60%">
 Place for additional command line keys defined in the second line of the "Add" dialog. When the
variable is missing keys are added to the end of the command line.</td></tr>
</table>

<p>Modifiers for the variables Q, S, M, N, *, W can be used for more accurate definitions of file name
formats.</p>

<table class="cont">
<tr class="cont"><th class="cont" width="40%">Modifier</th><th class="cont" width="60%">Description</th></tr>
  <tr class="cont"><td class="cont" width="40%">'Q'</td>
  <td class="cont" width="60%">
 enclose file names with spaces in quotes;
</td></tr>
  <tr class="cont"><td class="cont" width="40%">'q'</td>
  <td class="cont" width="60%">
 enclose all file names in quotes;
</td></tr>
  <tr class="cont"><td class="cont" width="40%">'S'</td>
  <td class="cont" width="60%">
 use '/' instead of '\' in full paths;
</td></tr>
  <tr class="cont"><td class="cont" width="40%">'M'</td>
  <td class="cont" width="60%">
 pass folder names to archivers as 'name\*.*';
</td></tr>
  <tr class="cont"><td class="cont" width="40%">'N'</td>
  <td class="cont" width="60%">
 pass folder names to archivers as 'name';
</td></tr>
  <tr class="cont"><td class="cont" width="40%">'*'</td>
  <td class="cont" width="60%">
 use '*' mask to select all files. This modifier overrides "All files Mask" parameter for any single command of the archiver;
</td></tr>
  <tr class="cont"><td class="cont" width="40%">'W'</td>
  <td class="cont" width="60%">
 use name without path;
</td></tr>
  <tr class="cont"><td class="cont" width="40%">'P'</td>
  <td class="cont" width="60%">
 use path without name;
</td></tr>
  <tr class="cont"><td class="cont" width="40%">'A'</td>
  <td class="cont" width="60%">
 use ANSI encoding.
</td></tr>
</table>

<p>
These modifiers can be used right after the %%F, %%f, %%L and %%l variables without spaces. 'P' and 'A'
can also be specified after %%A and %%a. It's allowed to use several modifiers at once, for
example, %%LMN or %%FQSN128. If there're no 'M' or 'N' modifiers the archiver receives both 'name'
and 'name\*.*'.
</P>

<P>
If some part of the command line is enclosed in curly braces {...} it will be added to the resulting
command line only in case it contains at least one not empty variable described above. </P>

<P>
If an external archiver doesn't support some command simply leave the corresponding line empty.
</P>

<div class=see>See also:</div><div class=seecont>
<a href="index.html">archive support</a>,
<a href="getdefaultcommands.html">GetDefaultCommands</a></div>


</body>
</html>
